package Year22_Month06.day17;

public class 平衡二叉树_递归写法 {
    public boolean isBalanced(TreeNode root) {
        if(root == null) return true;
        //左右子树高度差不超过1 && 左/右子树的子树高度差不超过1
        return Math.abs(func(root.left) - func(root.right)) > 1 && isBalanced(root.left) && isBalanced(root.right);
    }

    public int func(TreeNode node){//求树的高度
        return node == null ? 0 : Math.max(func(node.left),func(node.right)) + 1;
    }
}
